function updateRole() {
    var selected = $("#roleTable").bootstrapTable('getSelections');
    var selected_length = selected.length;
    if (!selected_length) {
        $MB.n_warning('请勾选需要修改的角色！');
        return;
    }
    if (selected_length > 1) {
        $MB.n_warning('一次只能修改一个角色！');
        return;
    }
    var roleId = selected[0].roleId;
    $.post(ctx + "role/getRole", {"roleId": roleId}, function (r) {
        if (r.code === 0) {
            var $form = $('#role-add');
            var $menuTree = $('#menuTree');
            $form.modal();
            var role = r.msg;
            $("#role-add-modal-title").html('修改角色');
            $form.find("input[name='roleName']").val(role.roleName);
            $form.find("input[name='oldRoleName']").val(role.roleName);
            $form.find("input[name='roleId']").val(role.roleId);
            $form.find("input[name='remark']").val(role.remark);
            var menuArr = [];
            for (var i = 0; i < role.menuIds.length; i++) {
                menuArr.push(role.menuIds[i]);
            }
            var menuTrees = $menuTree.jstree(true);
            // 清空级联关系
            var oldCascade = menuTrees.settings.checkbox.cascade;
            menuTrees.settings.checkbox.cascade = '';
            // 重置级联关系
            setTimeout(function () {
            	//获取第二次树的选中
                $menuTree.jstree('select_node', menuArr, true);
            }, 500);
            //获取第一次树的选中
            $menuTree.jstree('select_node', menuArr, true);
            //根据第一次树获取子节点
            menuArr=openId();
            //复制树的数据
            var jsons=$menuTree.jstree(true).settings.core.data;
            //删除第一次树
            $menuTree.jstree("destroy");
            //构建第二次树 并重新构建级联关系
            $('#menuTree').jstree({
                "core": {
                    'data': jsons
                },
                "state": {
                    "disabled": true
                },
                "checkbox": {
                    "three_state": false,//父子级别级联选择
                    "cascade": "up+down+undetermined"
                },
                "plugins": ["wholerow", "checkbox"]
            });
            $("#role-add-button").attr("name", "update");
        } else {
            $MB.n_danger(r.msg);
        }
    });
}

function openId(){
var ref =$('#menuTree').jstree(true);//获得整个树
ref.get_all_checked = function(full) {
    var tmp=new Array;
for(var i in this._model.data){
	if(this.is_undetermined(i)||this.is_checked(i)){tmp.push(full?this._model.data[i]:i);}
}
return tmp;
};


var checkedNodes = ref.get_all_checked(true);  //获取所有选中节点值，返回是数组（父节点，子节点）
var  checkedId=ref.get_all_checked();//获取所有选中节点id（父节点，子节点）
var fisrt = [];
checkedNodes.forEach(function(e)
{
	if(e.children.length==0){
fisrt.push(Number(e.original.id));
}
});
return fisrt;
 }